#ifndef MYCRC_H
#define MYCRC_H

class mycrc
{
public:
    mycrc(void);
    ~mycrc();
    void reset(void);
    void push(void const *p_data, unsigned long size);
    unsigned short value16(void);
    unsigned long value32(void);
private:
    unsigned short crc16_compute(void const *p_data, unsigned long size, unsigned short const *p_crc);
    unsigned long crc32_compute(void const *p_data, unsigned long size, unsigned long const *p_crc);
    unsigned short crc16;
    unsigned long crc32;
};

#endif // MYCRC_H

